package com.topisv.tms.rest.qimen.qmentity.request.instoragebillcreate;

import javax.validation.constraints.Min;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;

import org.hibernate.validator.constraints.NotBlank;

@XmlAccessorType(XmlAccessType.FIELD)
public class InstorageBillItem {
	
	@XmlElement(name = "orderLineNo")
	private String orderLineNo;		//入库单行号
	
	@NotBlank
	@XmlElement(name = "itemCode")
	private String itemCode; 	//商品编码	string(50)
	
	@NotBlank
	@XmlElement(name = "ownerCode")
	private String ownerCode; 	//货主编码
	
	@NotBlank
	@XmlElement(name = "itemId")
	private String itemId; 	//仓储系统商品ID
	
	@XmlElement(name = "itemName")
	private String itemName; 	//商品名称	string(200)
	
	@Min(value=1)
	@XmlElement(name = "planQty")
	private int quantity; 		//商品数量	int
	
	@XmlElement(name = "skuProperty")
	private String skuProperty; 	//商品属性	string(200)
	
	@XmlElement(name = "purchasePrice")
	private double purchasePrice;	//采购价
	
	@XmlElement(name = "retailPrice")
	private double retailPrice;	//零售价	double（18,2）

	@XmlElement(name = "inventoryType")
	private String inventoryType;	//库存类型 1 正品，101 残次，102 机损，103 箱损，201 冻结库存，301 在途库存，必填
	
	@XmlElement(name = "productDate")
	private String productDate;	//商品生产日期 YYYY-MM-DD
	
	@XmlElement(name = "expireDate")
	private String expireDate;	//商品过期日期YYYY-MM-DD
	
	@XmlElement(name = "produceCode")
	private String produceCode;	//生产批号,string(50)
	
	@XmlElement(name = "batchCode")
	private String batchCode;	//批次编码，string（50）
	
	@XmlElement(name = "extendProps")
	private String extendProps;	//扩展属性
	
	@XmlElement(name = "remark")
	private String remark;	//备注，string(500)
	
	
	public String getItemCode() {
		return itemCode;
	}

	public void setItemCode(String itemCode) {
		this.itemCode = itemCode;
	}

	public String getItemName() {
		return itemName;
	}

	public void setItemName(String itemName) {
		this.itemName = itemName;
	}

	public int getQuantity() {
		return quantity;
	}

	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}

	public String getSkuProperty() {
		return skuProperty;
	}

	public void setSkuProperty(String skuProperty) {
		this.skuProperty = skuProperty;
	}

	public double getRetailPrice() {
		return retailPrice;
	}

	public void setRetailPrice(double retailPrice) {
		this.retailPrice = retailPrice;
	}

	public String getInventoryType() {
		return inventoryType;
	}

	public void setInventoryType(String inventoryType) {
		this.inventoryType = inventoryType;
	}

	public String getOwnerCode() {
		return ownerCode;
	}

	public void setOwnerCode(String ownerCode) {
		this.ownerCode = ownerCode;
	}

	public String getItemId() {
		return itemId;
	}

	public void setItemId(String itemId) {
		this.itemId = itemId;
	}

	public String getProductDate() {
		return productDate;
	}

	public void setProductDate(String productDate) {
		this.productDate = productDate;
	}

	public String getExpireDate() {
		return expireDate;
	}

	public void setExpireDate(String expireDate) {
		this.expireDate = expireDate;
	}

	public String getProduceCode() {
		return produceCode;
	}

	public void setProduceCode(String produceCode) {
		this.produceCode = produceCode;
	}

	public String getBatchCode() {
		return batchCode;
	}

	public void setBatchCode(String batchCode) {
		this.batchCode = batchCode;
	}

	public String getExtendProps() {
		return extendProps;
	}

	public void setExtendProps(String extendProps) {
		this.extendProps = extendProps;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public double getPurchasePrice() {
		return purchasePrice;
	}

	public void setPurchasePrice(double purchasePrice) {
		this.purchasePrice = purchasePrice;
	}

	public String getOrderLineNo() {
		return orderLineNo;
	}

	public void setOrderLineNo(String orderLineNo) {
		this.orderLineNo = orderLineNo;
	}	
	
}
